package com.example.demo.controller;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.example.demo.utilServcie.SignUtils;
import com.example.demo.utilServcie.XmlApiService;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

@Controller
public class HttpClientController {

	@Autowired
	private XmlApiService apiService;
	private ObjectMapper mapper = new ObjectMapper();

	public Map<String, String> getMap(String objectid) {
		Map<String, String> params = new HashMap<String, String>();

		params.put("timestamp", System.currentTimeMillis() + "");// 时间戳
		params.put("objectid", objectid);// 学校的id
		params.put("objType", "2");// objType 是 int object类型（1：上级单位，2：学校）
		params.put("devCode", "3tYjQGzKXNXeNujF");// devCode 是 string 开发者标识。获取方式：上级单位后台==》基本信息==》开发者标识（仅创建者可见）
		params.put("devType", "1");// devType 是 int 开发者类型（1：上级单位）
		params.put("officeid", "HVMLFRjunehWsMdone");// officeid 是 string
														// 待获取数据的上级单位ID。获取方式：上级单位后台==》接口授权（仅创建者可见）==》备份接口授权==》objectid
		params.put("page", 1 + "");
		params.put("size", 1000 + "");

		params.put("sign", SignUtils.getSign(params));// 签名
		return params;
	}

	/**
	 * 获取全部的学校的id
	 * 
	 * @return
	 * @throws Exception
	 */
	@RequestMapping("buGetschoolList")
	@ResponseBody
	public JsonNode buGetschoolList() throws Exception {

		String uri = "https://m.campus.qq.com/api/open/buGetschoolList";

		String string = apiService.doPost(uri, this.getMap(""));

		JsonNode tree = mapper.readTree(string);

		return tree;
	}

}
